home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 551-575 / apd566 / source / mutant factor.amos / mutant factor.amosSourceCode
AMOS Source Code  |  1994-01-01  |  3KB  |  19 lines

  1. '   ______________________________________________________________________ 
  2. '  |                                                                      |
  3. '  |                          THE MUTANT FACTOR                           |
  4. '  |                          ~~~~~~~~~~~~~~~~~                           |
  5. '  |             Created for AMOS Basic by Glenn N Babic, 1991            |
  6. '  |                                                                      |
  7. '  |         Use ASCII Reader.AMOS to read "ASCII/Ten Liners.doc"         |
  8. '  |______________________________________________________________________|
  9.  
  10. Dir$="Extras:Sprite_600/Aliens/" : Load "Alien4.abk" : Load "Monster4.abk",1 : Load "Alien7.abk",1 : Flash Off : F$="WON!!!" : Paper 0 : Curs Off : For I=28 To 30 : Hot Spot I,0,16 : Next : Hide : Dim L(20,12),X(5),Y(5) : Double Buffer 
  11. A: T=1 : Get Sprite Palette : Gosub N : Amal On : Pen 15 : Repeat : Dec N : Print At(4,24);"Level:";T,"Time:";N;Space$(2),"Score:";S; : E=Jleft(1)-Jright(1) : F=Jup(1)-Jdown(1) : Dec W : If W>3 : Shoot : End If : For P=2 To 5 : Amreg(P,3)=28
  12. I=X(1)-X(P) : J=Y(1)-Y(P) : If Abs(I)<Abs(J) : I=0 Else J=0 : End If : I=Sgn(I) : J=Sgn(J) : If W>0 : I=0-I : J=0-J : End If : If L(X(P)+I,Y(P)+J)<36 : Add X(P),I : Add Y(P),J : End If : Next 
  13. U=X(1)+E : V=Y(1)+F : If(E=0 or F=0) and(L(X(1)+E,Y(1)+F)<>36 or(W>0 and U>1 and U<20 and V>1 and V<12)) : Add X(1),E : Add Y(1),F : End If : For P=1 To 5 : Amreg(P,0)=X(P)*16-16-X Bob(P)
  14. Amreg(P,1)=Y(P)*16-16-Y Bob(P) : Next P : Amreg(0)=1 : For P=2 To 5 : If(X(P)=X(1) and Y(P)=Y(1)) or N=0 : D=-1 : F$="OVER" : S=0 : End If : Next P : M=L(X(1),Y(1)) : If M=9 : Bell 10 : Add S,10 : Dec G : L=1 : End If : If M=12
  15. Bell 50 : Add S,30 : Dec G : W=48-T*2 : L=1 : End If : If M=36 : Add S,5 : Shoot : L=1 : End If : If L=1 : L(X(1),Y(1))=0 : Bar X(1)*16-16,Y(1)*16-16 To X(1)*16-1,Y(1)*16-1 : L=0 : End If : If G=0 : Bell 53 : Wait 2 : Bell 60 : Add S,100
  16. Add S,N*2 : W=0 : Inc T : If T<9 : Gosub N : Amal On : End If : End If : Until T=9 or D : Boom : Locate 0,11 : Centre "GAME "+F$ : If T=9 : For I=1 To 96 : Play I,2 : Next : Shift Up 3,1,15,1 : End If : Wait Key : Shift Off : G=0 : D=0 : Goto A
  17. N: Ink 0 : N=430-T*8 : Bob Off : Cls 0 : For I=1 To 20 : For J=1 To 12 : R=Rnd(99) : K=9 : If R<15-T : K=12 : End If : If R>50+T*3 : K=36 : End If : If I=2 or I=10 or I=19 or J=2 or J=6 or J=11 : K=9 : End If : If I=1 or I=20 or J=1 or J=12
  18. K=36 : End If : If K=9 or K=12 : Inc G : End If : L(I,J)=K : Next : Next : Autoback 0 : For J=1 To 12 : For I=1 To 20 : Paste Bob I*16-16,J*16-16,L(I,J) : Next : Next : Screen Copy 0 To Physic : Autoback 2 : For P=1 To 5 : X(P)=2+(P/2-1)*17
  19. Y(P)=2+(P mod 2)*9 : If P=1 : V=1 : X(P)=10 : Y(P)=6 Else V=28 : End If : Bob P,X(P)*16-16,Y(P)*16-16,V : Channel P To Bob P : Amal P,"A 0,(R3+1,4)(R3+2,4)(R3+1,4)(R3,4);A:I RA=0 J A;M R0,R1,16;L RA=0;J A" : Next : Amreg(1,3)=1 : Set Tab 3 : Return